TravelBuddy Code Directory Structure

This Code directory includes all the source files, templates, static assets, and support files necessary to run the TravelBuddy web application.

Directory Overview:

1. Capstone/
   - This folder contains the entire web application (Flask-based).
   - All files needed to deploy and run TravelBuddy locally are stored here.

   Subdirectories and Files:

   a) templates/
      - Contains all the HTML templates rendered by the Flask app.
      - Files:
         - base.html — Base template inherited by all other pages
         - index.html — Homepage
         - flights.html — Flight search page
         - hotels.html — Hotel listings page
         - login.html — User login page
         - register.html — User registration page
         - thingsToDo.html — Events and activities page
         - maplayout.html — Attractions and map page
         - weather.html — (Weather forecast page, under development)

   b) static/
      - Contains all static assets such as stylesheets and JavaScript files.
      - Files:
         - style.css — Main CSS styling for the entire site
         - hotel.jpg — Static image resource
         - js/map.js — JavaScript file used for loading maps and attractions

   c) app.py
      - Main Python file that runs the Flask web application.

   d) main_functions.py
      - Contains utility functions to support app.py (optional module).

   e) api_keys.json (or .env)
      - File where API keys are loaded from.
      - This file should NOT be committed publicly — it contains sensitive API credentials.

   f) worldcities.csv
      - CSV file containing city data, used for validating and suggesting travel destinations.

   g) requirements.txt
      - List of required Python libraries to install for running the app. Not all are currently included, check app.py for all dependencies.

2. Database
   - This project does not use a database in the current version, it failed before the Senior Design Showcase.
   - Future versions will implement persistent user data storage.

3. InstallationGuide.pdf
   - A detailed step-by-step guide, with screenshots, showing how to set up and run TravelBuddy.

4. UserManual.pdf
   - A guide explaining how users interact with TravelBuddy’s features.

Notes:
- The application currently runs on localhost (`http://127.0.0.1:5000/`).
- API keys for Google Places, Ticketmaster, and OpenWeather must be added manually to a .env or api_keys.json file.

Version: Initial Release (Capstone Project Submission)